package com.itheima.reggie.utils;

import cn.hutool.http.HttpRequest;

import java.util.HashMap;
import java.util.Map;

/**
 * 短信发送工具类
 */
public class SMSUtilsMarket {

	/**
	 * *****************************
	 添加http请求工具类在pom.xml中
	 <dependency>
	 <groupId>cn.hutool</groupId>
	 <artifactId>hutool-all</artifactId>
	 <version>4.5.15</version>
	 </dependency>
	 * *****************************
	 // 1.mobile 手机号，用户自己输入
	 String mobile = "";
	 // 2. code 验证码 ，程序自动随机生成
	 String code = "5790";
	 短信内容为 { 验证码：**code**，**minute**分钟内有效，请勿泄漏于他人！}）
	 // 3. smsSignId 签名ID（联系客服申请，测试请用：2e65b1bb3d054466b82f0c9d125465e2）
	 String smsSignId="2e65b1bb3d054466b82f0c9d125465e2";
	 // 4. templateId 模板ID
	  （联系客服申请。测试ID请用：908e94ccf08b4476ba6c876d13f084ad，
	 String templateId="908e94ccf08b4476ba6c876d13f084ad";
	 // 5. appCode 应用code
	     在https://market.console.aliyun.com/imageconsole/index.htm?#/bizlist?_k=r5f9m0查找
	 String appCode = "";
	 */
	public static void sendMessage(String mobile,String code,
								   String smsSignId,
								   String templateId,
								   String appCode){
		//请求连接
		String host = "https://gyytz.market.alicloudapi.com/sms/smsSend";
		//拼装请求体
		Map<String, Object> querys = new HashMap<String, Object>();
		querys.put("mobile", mobile);
		querys.put("param", "**code**:"+code+",**minute**:5");
		querys.put("smsSignId", smsSignId);
		querys.put("templateId", templateId);

		try {
			String result = HttpRequest.post(host)
									   .header("Authorization", "APPCODE " + appCode)
									   .form(querys)//表单内容
									   .timeout(20000)//超时，毫秒
									   .execute().body();
			System.out.println(result);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
